<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>立即执行函数</title>
</head>
<body>
    <script>
        // 立即执行函数定义: 此函数没有声明, 只执行一次过后即释放, 适合做初始化工作
        // 立即执行函数又名  初始化函数  在运行后立即销毁
        function a(){
            // ...此处隐藏十万行代码
            alert(456)
        };
        (function b(a, b, c){
            console.log(a+b+c);
        }(1, 2, 3));

        // 写法一
        // (function(){
        //     alert(123)
        // }());

        // 写法二
        // 声明函数
        (function text(a){
            console.log(a)
        })();
        
        // 函数只有表达式才能被执行符号执行.
        // 写法三
        var text = function (param) { 
            console.log("a");
        }()

        // 写法四 + - ! &  |  或与非.
        & function a() { 
            console.log("b");
        }();

        // (function () { 
        //     console.log("a")
        // }())
        
        // 下边写法不可执行, () 会被理解为不与函数一体.
        (function e(a, b, c, d) { 
            console.log(a+b+c+d);
        }(1, 2, 3, 4))
        
    </script>


</body>
</html>